package com.patent.service;

import com.github.pagehelper.PageInfo;
import com.patent.common.ResultData;
import com.patent.domain.po.Patent;
import com.patent.domain.vo.PatentOrderVo;

import java.util.List;

public interface PatentService {

	/**
	 *提交监控之前，查询专利信息
	 */
	PageInfo<Patent> getPatentInfoByConditions(String userMobile, String applicationNo, String title, String applicants, String inventors,
	                                           Integer page, Integer rows, String flag) throws Exception;

	/**
	 *提交监控
	 */
	ResultData addMonitorPatent(String source, String userMobile, String id);

	/**
	 *查询首页的专利信息
	 */
	ResultData queryIndexCount(String userMobile) throws Exception;

	/**
	 *查询各个专利对应的各个状态的专利信息
	 */
	ResultData queryMonitorPatentInfo(String userMobile, String patentType, String generalStatus,Integer page,Integer rows);

	/**
	 * 年费监控
	 */
	ResultData queryAnnualFee(String userMobile, String patentType, Integer page, Integer rows, String applicationNo);

	/**
	 * 取消专利监控
	 */
	ResultData cancelMonitorPatent(String monitorId) throws Exception;

	/**
	 * 保存缴费记录
	 */
	ResultData savePaymentRecord(String userMobile, List<PatentOrderVo> list);

	/**
	 * 查询代缴记录
	 */
	ResultData queryPaymentRecord(String userMobile,Integer page,Integer rows);

	/**
	 * 通过专利号查专利信息
	 */
	ResultData queryPatentInfo(String userMobile, String applicationNo);

	/**
	 * 	专利号查专利信息判断专利状态是否是专利权维持的
	 */
	ResultData checkPatentStatu(String userMobile, String applicationNo);

	/**
	 * 手动添加专利监控
	 */
	ResultData addPatentByManual(String source, String userMobile, String applicationNo);

	/**
	 * 不关联监控表查(判断页面是显示没查到数据还是已添加专利)
	 */
	List<Patent> getPatentInfoByConditions2( String applicationNo, String title, String applicants,
	                                String inventors, Integer page, Integer rows);
}
